$(function(){	
	//加载表格数据
	$('#roletree').tree({
		dnd: true, 
		checkbox: true,
		url: '../../role/roletree.json',
		onClick:function(node){
			//alert('you click '+node.text);
	        ajaxUnResourceTable("../../resource/roleunres.json?roleId="+node.id);
		    ajaxResourceTable("../../resource/roleres.json?roleId="+node.id);
			$('#ResourceTable').datagrid('options').title=node.text+"角色已拥有的资源列表";
			$('#unResourceTable').datagrid('options').title=node.text+"角色未拥有的资源列表";
			$('#selectResourceId').val(node.id);
			$('#selectResourceName').val(node.text);
	}
			
	});
	ajaxUnResourceTable("");	
	ajaxResourceTable("");
	
	var p = $('#unResourceTable').datagrid('getPager'); 

	$(p).pagination({ 

	    pageSize: 10,//每页显示的记录条数，默认为10 

	    pageList: [5,10,15,20,25,30],//可以设置每页记录条数的列表 

	    beforePageText: '第',//页数文本框前显示的汉字 
	    afterPageText: '页    共 {pages} 页', 
	    displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录'

	}); 
});

function clear()
{
      //$('#s_userNo').val("");	
	
	  $('#s_resourceName').val("");
}

/**
 * 查询
 */
function search(){    
   	  //$('#allUserTable').datagrid('options').pageNumber.val('1');       
	//alert($("#pageNumber").val());
	  reloadTable();}


/**--------------table------------------**/
/**
 * 加载表格数据
 */
function ajaxUnResourceTable(url){
	//加载表格
	$('#unResourceTable').datagrid(
		{
		 /* toolbar:[{//正上方工具栏
			text:'查询',
			iconCls:'icon-search',
			handler:function(){
				search();
			
			}
		}],*/
	    //singleSelect:true,
		width:363,
		url:url,
		pageSize:10, //默认页面大小
		pageNumber : 1,
		loadMsg:'数据加载中,请稍后...',
		pageList:[5,10,15], //设置每页显示多少条
		onLoadError:function(){
			alert('数据加载失败!');
		},
		queryParams:{//查询条件			
		},
		onClickRow:function(rowIndex, rowData){
			//取消选择某行后高亮
			$('#unResourceTable').datagrid('unselectRow', rowIndex);
		},
		onLoadSuccess:function(){
			var value = $('#unResourceTable').datagrid('getData')['errorMsg'];
			if(value!=null){
				alert("错误消息:"+value);
			}
		}
	}).datagrid('acceptChanges');
	var p = $('#unResourceTable').datagrid('getPager'); 

	$(p).pagination({ 

	    pageSize: 10,//每页显示的记录条数，默认为10 

	    pageList: [5,10,15,20,25,30],//可以设置每页记录条数的列表 

	    beforePageText: '第',//页数文本框前显示的汉字 
	    afterPageText: '页    共 {pages} 页', 
	    displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录'

	}); 
}


//刷新表格
function reloadTable(){
	  
	  var queryParams = $('#unResourceTable').datagrid('options').queryParams;  	  
	 // queryParams.userNo=$('#s_userNo').val();		
	  queryParams.resourceName=$('#s_resourceName').val();	  
	  $('#unResourceTable').datagrid('options').queryParams=queryParams;   
	 //d $("#allUserTable").datagrid('clearSelections'); //清除所选
	  $("#unResourceTable").datagrid('reload'); 
}





/**
 * 批量操作
 * @return
 */
function batch(flag){
	if($('#unResourceTable').datagrid('getSelected')){
		//首先如果用户选择了数据，则获取选择的数据集合
		var ids = [];
		var cods = [];
		var nas=[];		
		var selectedRow = $('#unResourceTable').datagrid('getSelections');
		//alert(selectedRow.length);
		for(var i=0;i<selectedRow.length;i++){
			ids.push(selectedRow[i].resourceId);
			nas.push(selectedRow[i].resourceName);
			cods.push(selectedRow[i].descript);
					
		}
		var resourceId = ids.join(',');//用户编号
		var role=[];
		var nodes = $('#roletree').tree('getChecked');
		
		var s = '';
		var na='';
		for(var i=0; i<nodes.length; i++){
			if (s != '') s += ',';
			if(na!='') na+=',';
			s += nodes[i].id;
			na+=nodes[i].text;
		}
		if(na==null)
		{
			$.messager.alert('请选择角色','请选择角色');
			return;
		}
		 if(flag=='addTorole'){
			
			//删除操作
			$.messager.confirm('角色分配提示', '你确定将下列资源赋予'+na+'角色吗?<br/>'+nas.join('\n'), function(r){
				if (r){
					var url = '../../role/roleaddres.do?resourceIds='+resourceId+'&roleIds='+s;//servlet弄好再整
					  // alert(url);
					changeStatus(url);
					
					$("#unResourceTable").datagrid('clearSelections'); //操作完清除所选
					
				}
			});
			}
		 else if(flag=='outRole')
		 {
			//删除操作
				$.messager.confirm('角色取消提示', '你确定将下列角色取消'+na+'角色吗?<br/>'+nas.join('\n'), function(r){
					if (r){
						//var url = '../../role/userdelrole.do?userIds='+userId+'&roleIds='+s;
						//alert(url);
						//changeStatus(url);
						
						$("#allUserTable").datagrid('clearSelections'); //操作完清除所选
						
					}
				});
				
			}
			 
		 }	
		
	//end of if
}


function clearRoleResource()
{
     // $('#r_userNo').val("");	
	
	  $('#r_resourceName').val("");
}

/**
 * 查询
 */
function searchRoleResource(){    
   	  //$('#deptUserTable').datagrid('options').pageNumber.val('1');       
	//alert($("#pageNumber").val());
	//if($('#deptUserTable').datagrid('getSelected'))
	  reloadRoleTable();}


/**--------------table------------------**/
/**
 * 加载表格数据
 */
function ajaxResourceTable(url){
	//加载表格  
	$('#ResourceTable').datagrid(
		{
		 toolbar:[{//正上方工具栏
			text:'从当前角色中删除',
			iconCls:'icon-cancel',
			handler:function(){
				batchRole('delete');
			
			}
		}],
	    //singleSelect:true,
		width:363,
		url:url,
		pageSize:10, //默认页面大小
		pageNumber : 1,
		loadMsg:'数据加载中,请稍后...',
		pageList:[5,10,15,20,25,30], //设置每页显示多少条
		onLoadError:function(){
			alert('数据加载失败!');
		},
		queryParams:{//查询条件			
		},
		onClickRow:function(rowIndex, rowData){
			//取消选择某行后高亮
			$('#ResourceTable').datagrid('unselectRow', rowIndex);
			
		},
		onLoadSuccess:function(){
			var value = $('#ResourceTable').datagrid('getData')['errorMsg'];
			if(value!=null){
				alert("错误消息:"+value);
			}
		}
	}).datagrid('acceptChanges');
	var p = $('#ResourceTable').datagrid('getPager'); 

	$(p).pagination({ 

	    pageSize: 10,//每页显示的记录条数，默认为10 

	    pageList: [5,10,15],//可以设置每页记录条数的列表 

	    beforePageText: '第',//页数文本框前显示的汉字 
	    afterPageText: '页    共 {pages} 页', 
	    displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录'

	}); 
}


//刷新表格
function reloadRoleTable(){
	  
	  var queryParams = $('#ResourceTable').datagrid('options').queryParams;  	  
	  //queryParams.userNo=$('#r_userNo').val();		
	  queryParams.resourceName=$('#r_resourceName').val();	  
	  $('#ResourceTable').datagrid('options').queryParams=queryParams;   
	  $("#ResourceTable").datagrid('clearSelections'); //清除所选
	  $("#ResourceTable").datagrid('reload'); 
}


/**
 * 修改状态的Ajax
 * @param url
 * @return
 */
function changeStatus(url){
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		url:url,//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			if(data!=null){//返回异常信息
				$.messager.alert('错误提示',data.errorMsg,'error');
			}
			reloadTable();
			reloadRoleTable();
		}
	});
}


/**
 * 批量操作
 * @return
 */
function batchRole(flag){
	if($('#ResourceTable').datagrid('getSelected')){
		//首先如果用户选择了数据，则获取选择的数据集合
		var ids = [];
		var cods = [];
		var nas=[];	
		var selectedRow = $('#ResourceTable').datagrid('getSelections');
		//alert(selectedRow.length);
		for(var i=0;i<selectedRow.length;i++){
			ids.push(selectedRow[i].resourceId);
			cods.push(selectedRow[i].descript);
			nas.push(selectedRow[i].resourceName);	
			}
		var resourceId = ids.join(',');//用户编号
		
		var role=[];
		var nodes = $('#roletree').tree('getChecked');
		
		var s = '';
		var na='';
		for(var i=0; i<nodes.length; i++){
			if (s != '') s += ',';
			if(na!='') na+=',';
			s += nodes[i].id;
			na+=nodes[i].text;
		}
		if(na==null)
		{
			$.messager.alert('请选择角色','请选择角色');
			return;
		}
	    
		if(flag=='delete') {
			
			if($('#selectResourceId').val()!=null&&$('#selectResourceId').val()!="")
			{
				//删除操作
				$.messager.confirm('资源分配提示', '你确定将下列资源移出'+$('#selectResourceName').val()+'角色吗?<br/>'+nas.join('\n'), function(r){
					if (r){
						var url = '../../role/roledelres.do?resourceIds='+resourceId+'&roleIds='+$('#selectResourceId').val();
						  alert(url);
						changeStatus(url);
						
						$("#ResourceTable").datagrid('clearSelections'); //操作完清除所选
						$("#ResourceTable").datagrid('reload');
						
					}
				});
			}
			else {
				
				$.messager.alert('请选择角色','请选择角色');
				return;
			}
			
		}
		
		
		
	}//end of if
}

